Digital networks have been developed to facilitate the transfer of information, including data and programs, among digital computer systems and numerous other types of devices. A variety of types of networks have been developed and implemented using diverse information transfer methodologies. In modern networks, information is transferred through a mesh of switching nodes which are interconnected by communication links in a variety of patterns. The mesh interconnection pattern can allow for a number of paths to be available through the network from each computer system or other device which may transmit information as a source device, to another computer system or other device, which is to receive the information as a destination device, so that if congestion develops in particular regions of the network, or if components of the network become inoperative, information can be routed around the congested or inoperative portion of the network.
Information transferred from a source device to a destination device is generally transferred in the form of fixed- or variable-length packets, which are transferred through the network in accordance with several general packet transfer methodologies. In one packet transfer methodology, which is typically used in, for example, frame relay or ATM ("asynchronous transfer mode") networks, packets are transferred through the network's switching nodes over constructs which are generally termed "virtual circuits," "virtual connections" and the like (generally, "virtual circuits"). When a source device wishes to transfer information to a destination device, initially a preliminary operation will be performed to establish a virtual circuit over communication links defining a path from the source device, through a series of switching nodes to the destination device. Each switching node in the virtual circuit methodology is provided with a virtual circuit database that associates each of the virtual circuits maintained by the respective switching node with a particular one of the communication links over which packets associated with the respective virtual circuits are to be transmitted, either to the next switching node in the virtual circuit, or to the destination device to receive the packet.
After a virtual circuit is established, the source device can transfer packets using the virtual circuit database Each packet includes, as well as the data to be transferred, an identifier that identifies the particular virtual circuit to be used in transferring the packet. The source device will initially transfer the packet to the switching node connected thereto, and that switching node will use virtual circuit identifier and the virtual circuit database to identify a communication link over which it (that is, the switching node) is to transfer the packet. These operations will be performed for each switching node along the path of the virtual circuit. When the last switching node along the virtual circuit receives the packet, that switching node will transfer the packet to the particular destination device associated with the virtual circuit. These operations will be repeated for each of the packets transferred from the source device to the destination device. In addition, similar operations may also be performed in connection with packets which the destination device may transfer to the source device, since a single virtual circuit, once established, may be used to transfer packets in both directions between the original source device and the original destination device.
At the end of a communications session between the source device and the destination device over a virtual circuit, during which one or a number of packets may be transferred, the devices may close the virtual circuit. In that operation, packets are transferred between the source and destination devices which, among other things, can enable the switching nodes along the virtual circuit to expunge the virtual circuit information relating to the particular virtual circuit being closed from their respective virtual circuit databases. Thereafter, the virtual circuit identifier and other resources, including the entries in the respective virtual circuit databases associated with the closed virtual circuit, can be used for other virtual circuits.
There are a number of differences between the frame relay and ATM methodologies. The most apparent difference is that virtual circuit packets in the frame relay methodology are of variable length, and can accommodate blocks of data ranging in size from relatively small to relatively large numbers of bytes. On the other hand, ATM cells (as the packets are referred to in the ATM methodology) are of fixed and relatively small length, each comprising fifty-three bytes including a five-byte header portion and a forty-eight byte data portion. In addition, the ATM methodology defines a number of "quality of service" types, which can be used to indicate, for example, the amount of burst and continuous bandwidth will be allotted and guaranteed for a particular virtual circuit through the ATM network. There are a number of benefits of using each of the types of methodologies, and a number of networks have been established using each methodology. It is also desirable to be able to integrate networks which make use of the both packet transfer methodologies, so that, for example
(i) source devices which are connected to one type of network can communicate with destination devices which are connected to the other type of network and PA1 (ii) if both the source device and the destination device are connected to a network of the same type, but if the shortest path between them is through a network of a different type, they can perform transfers over the shortest path through that different type network.
The current methodology for integrating frame relay and ATM networks is described in Appendix A identified above. In that methodology, separate virtual circuits will be established through each leg of the path between the source device and the destination device, with each leg passing through a frame relay or ATM network. At the interface between the two networks, an "inter-working function" ("IWF") is used to convert between protocols of the respective service types. One problem that arises in this methodology, however, this methodology, is that the separate virtual circuits through the frame relay and ATM networks must be separately established, concatenated and managed, which complicates communications between source and destination devices.